Autonomous, non-interactive, context-based services for cellular phone

ABSTRACT

Examples include autonomously authenticating a financial transaction, on behalf of the user, without interacting with the user, via wireless communication link. In various embodiments, the user&#39;s cellular phone may be configured to process a message that provides at least partial service context and autonomously authenticate the financial transaction.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is continuation application under 35 U.S.C. § 120 ofU.S. application Ser. No. 14/885,515, filed on Oct. 16, 2015, which is acontinuation application under 35 U.S.C. § 120 of U.S. application Ser.No. 14/293,376, filed on Jun. 2, 2014, now U.S. Pat. No. 9,177,311,which is a continuation application under 35 U.S.C. § 120 of U.S.application Ser. No. 13/941,853, filed on Jul. 15, 2013, now U.S. Pat.No. 8,744,429, which is a continuation application under 35 U.S.C. § 120of U.S. application Ser. No. 12/415,027, filed on Mar. 31, 2009, nowU.S. Pat. No. 8,532,642, the entire disclosures of which areincorporated herein by reference.

TECHNICAL FIELD

Embodiments of the present disclosure relate to cellular phones, andmore particularly, to autonomous, non-interactive context-based services(beyond traditional telephony and personal information managementapplications) on a cellular phone.

BACKGROUND

Cellular phones have achieved amazing market penetration worldwide, andhave become commonplace in modern life. This trend has pushedmanufacturers to increase the capabilities of these devices. In theircurrent form, services provided by the cellular phone generally requireexplicit interaction with the user.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure will be readily understood by thefollowing detailed description in conjunction with the accompanyingdrawings and the appended claims. To facilitate this description, likereference numerals designate like structural elements. Embodiments ofthe disclosure are illustrated by way of example and not by way oflimitation in the figures of the accompanying drawings.

FIG. 1 illustrates an overview of a cellular phone with autonomousservice, in accordance with various embodiments.

FIG. 2 is a block diagram of the cellular phone of FIG. 1 in furtherdetails, in accordance with various embodiments.

FIG. 3 illustrates various examples of autonomous servicing of a call,in accordance with various embodiments.

FIG. 4 illustrates various examples of autonomous servicing of messages,in accordance with various embodiments.

FIG. 5 is a flowchart illustrating a method of autonomous service on acellular phone, in accordance with various embodiments.

FIG. 6 is a block diagram of a computer program product withinstructions for providing autonomous service on a cellular phone, inaccordance with various embodiments.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments in which the disclosure may be practiced. It isto be understood that other embodiments may be utilized and structuralor logical changes may be made without departing from the scope of thepresent disclosure. Therefore, the following detailed description is notto be taken in a limiting sense, and the scope of embodiments inaccordance with the present disclosure is defined by the appended claimsand their equivalents.

Various operations may be described as multiple discrete operations inturn, in a manner that may be helpful in understanding embodiments ofthe present disclosure; however, the order of description should not beconstrued to imply that these operations are order dependent. Moreover,some embodiments may include more or fewer operations than may bedescribed.

The description may use the phrases “in an embodiment,” “inembodiments,” “in some embodiments,” or “in various embodiments,” whichmay each refer to one or more of the same or different embodiments.Furthermore, the terms “comprising,” “including,” “having,” and thelike, as used with respect to embodiments of the present disclosure, aresynonymous, and are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.).

As used herein, “coupled,” along with its derivatives, may mean one ormore of the following. “Coupled” may mean a direct physical orelectrical coupling or connection, wherein there is no other elementcoupled or connected between the elements that are said to be coupledwith each other. “Coupled” may also mean an indirect physical orelectrical coupling or connection, where one or more other elements arecoupled or connected between the elements that are said to be coupledwith each other.

For the purposes of the present disclosure, the phrase “A/B” means A orB. The phrase “A and/or B” means “(A), (B), or (A and B).” The phrase“at least one of A, B, and C” means “(A), (B), (C), (A and B), (A andC), (B and C), or (A, B and C).” The phrase “(A)B” means “(B) or (AB),”that is, A is an optional element. In addition, although embodiments ofthe present disclosure may be shown and described as including aparticular number of components or elements, embodiments of thedisclosure are not limited to any particular number of components orelements.

Turning now to FIG. 1, illustrated is an overview of a cellular phonewith autonomous service in accordance with various embodiments. For theembodiments and as shown, cellular phone 100, incorporated with theteachings of the present disclosure, may be coupled with a network 102,e.g., the Internet. Cellular phone 100 may be designed to provideautonomous service to increase the amount of functions performed foruser 104. Autonomous services refer to services provided by cellularphone 100 for user 104, without interaction with or intervention by user104. Although in minority or exception situations, user interaction orintervention may be requested. As will be described in more detailbelow, in various embodiments, autonomous services are performed basedat least in part on dynamically determined service contexts.

For the embodiments, cellular phone 100 may include a number of datacollection modules 112. In various embodiments, data collection modules112 may be configured to collect and store data about user 104, internaloperating conditions of cellular phone 100, and/or external environmentof cellular phone 100. In various embodiments, data collection modules112 may collect the data locally (e.g., through local monitoring and/orsensing), as well as from the Internet, thereby significantly broadeningthe repertoire of data available to support the variety of autonomousservices provided as well as enhancing the precision of the autonomousservices provided.

Cellular phone 100, as illustrated, may further include a number ofagents 114 configured to perform a number of services for user 104autonomously, in particular, services for servicing various calls ormessages received. Calls may be transmitted to cellular phone 100 viaany one of a number of wireless communication protocols, including butnot limited to Code Division Multiple Access (CDMA), Global System forMobile Communication (GSM) and so forth. Messages may be conventionaltext, email, short messaging service (SMS) or multi-media messagingservice (MMS) messages. A message may include a request, e.g., a requestto authorize a transaction or approval an action. A message may alsoreport a status of a device or an occurrence of an event.

For some example embodiments, each of agents 114 may be configured todetermine, on receipt of a call or a message to be autonomouslyserviced, a service context, based at least in part on some of the datacollected and stored about the user, the internal conditions and theexternal environment. Examples of a service context may include but arenot limited to the user 104 being at home, the user 104 being work, theuser 104 being busy, the user 104 being available, battery being low,signal being weak, processor being busy, storage being full, externaltemperature being cold, humidity being high, and so forth. Further, eachof agents 114 may be configured to autonomously service the receivedcall or message, without interaction with the user 104 or substantiallywithout interactions with the user 104, based at least in part on thedetermined service context.

FIG. 2 is a block diagram of cellular phone 100 of FIG. 1 in furtherdetail, in accordance with various embodiments. As shown, the examplearchitecture of the cellular phone 100 may include one or more of a userinterface 206, an application layer 208, data collection and provisionmodules 222-226, a services layer 210, and a network stack 212. Thevarious interfaces, layers and modules may be implemented by executableinstructions stored in various storage media 202, or executed by one ormore processors 201. Storage medium 202 may be of various types,including but not limited to, e.g., non-volatile memory, such as flashmemory. Processor 201 may be of various types also, including but notlimited to, e.g., reduced instruction set computer (RISC) processors.

User interface 206 may be configured to support one or more user inputand/or output devices through which a user may input commands and dataor observe output information. Such devices may include a displaydevice, a speaker, a microphone, a keyboard, a pointing device (e.g., amouse, a trackball, or a touch pad), or the like.

Cellular phone 100 may be coupled to the network 102 using the networkstack 212. The network stack 212 may be primarily concerned withnetworking details for coupling the cellular phone 100 to a wirelessnetwork. The network stack 212 may be configured to couple the cellularphone 100 to a wireless wide area network (WWAN) or a wireless localarea network (WLAN) that may provide access to a broadband network suchas the Internet.

The application layer 208 may include agent applications 214 as well asvarious traditional applications 216 such as, telephone application,text messaging application, or e-mail application. The agentapplications (or simply agents) 214 may be configured to service areceived call or message on behalf of the user, autonomously, withoutinteraction with the user, or substantially without interaction with theuser.

The agents 214 may be designed to determine the service context, onreceipt of a call or message to be autonomously serviced. As describedearlier, each agent 214 may be configured to determine the servicecontext, on receipt of a call or message to be serviced, based at leastin part on some of the data 222 collected about a user, internaloperating conditions (system status) 224, and external environment 226.Further, each agent application 214 may be configured to thereafterautonomously service the received call or message, based at least inpart on the determined service context.

As described earlier, cellular phone 100 may employ a number of datacollection modules 112 to collect and store the data 222 about the user,the internal operating conditions (also may be referred to as “systemstatus”) 224, and the external environment (also may be referred to as“External Data”) 226, and the collection may be locally and from theInternet. In various embodiments, cellular phone 100 may be providedwith one or more sensors 203 in assisting in the local collection ofdata 222 about the user (User Data), internal operating conditions 224(System Status), and/or external environment 226 (External Data).

In some embodiments, collecting and storing data 222 about the user mayinclude one or more of collecting and storing data about the user'scurrent context, e.g., whether the user is at home, at work, or neither,the user's current status, e.g., whether the user is busy or available,the user's calendar, the user's contacts, the user's to-dos, and soforth. Collecting and storing data about internal operating conditionsmay include collecting and storing data about one or more of thecellular phone's power, memory availability, storage availability, CPUutilization, and so forth. Collecting and storing data about theexternal environment may comprise collecting and storing data about oneor more of the cellular phone's current geographical location, signalstrength, signal interference, external temperature, external humidity,and so forth.

For some embodiments, cellular phone 100 may further include a commonservice layer 210 (Services) located in between the network stack 212and the application layer 208. The services layer 210 may be configuredto be a gateway between the network and applications operating oncellular phone 100, including agents 214 configured to autonomouslyperform services for the user. The services layer 210 may also beconfigured to route a received call or message to one of theapplications 214-216 in application layer 208 to process or service. Invarious embodiments, service layer 210 may also be designed to performadditional services including, for example, voicemail recording, smartfiltering of unwanted communication, or the like.

In various embodiments, agents 214 may be programmed with decision logic(or decision logic trees) of varying levels of complexity. For example,a decision logic may be to simply ignore, forward, or route all calls tovoicemail when the user is at work. The decision logic may be refinedsuch that all calls are ignored, forwarded, or routed to voicemail whenthe user is at work except if those calls are from a certain person orif the user is at her desk versus in a meeting. The decision logic maybe broadly categorized into “contexts” (e.g., work, home, vacation,etc.), which may be triggered in certain conditions.

In various embodiments, the agents 214 may be explicitly and/orimplicitly programmed to autonomously service a call or a message.Explicit programming may entail explicitly specifying the desiredbehaviors and the conditions for triggering the desired behaviors. Tothat end, the cellular phone 100 may be endowed with a graphical userinterface (GUI) or the like to facilitate the programming interaction.In various embodiments, another computing apparatus may be explicitlyprogrammed with the desired behaviors and then the cellular phone 100may be synchronized with the other computing apparatus.

Additionally or alternatively, agents 214 may be implicitly programmedto provide the autonomous services. Implicit programming may involvepassive learning by the agents 214 in which a user's behavior isobserved by the agents 214 and/or by explicit hints provided by theuser. An example of passive learning could be a situation in which theagents 214 has an alarm function and it is observed that the user onlyuses the alarm on weekdays and turns off the alarm function on weekends.In this example, agents 214 may learn to turn the alarm function off onweekends on its own, without requiring the user to explicitly set theconditions. In some embodiments, behavior may be adapted in someembodiments only after a degree of certainty has been achieved (e.g.,more than one or two actions may be required before it is considered a“behavior”).

In various embodiments, agents 214 may be configured to record theautonomous services provided into a log, and the log may be periodicallysubmitted to an external analysis service for analysis and to providefeedback to the agents. In turn, agents may self-modify their processesin determining the current service context or self-modify the manner inwhich a call or message is autonomously serviced based at least in parton a determined service context. In various embodiments, agents 214 maybe configured to self-modify current service context determinationand/or autonomous service based on a determined service contextperiodically.

FIG. 3 illustrates various examples of autonomous servicing of a call ofvarious embodiments. As illustrated, cellular phone 100 may receive acall 330 through the wireless communication network 102 from anotherphone 328, which may be another cellular phone. On receipt of the call330, if not filtered, e.g., because it is not a marketing call, servicelayer 210 may route the call 330 to one of the agents 214 (as opposed tothe traditional telephone application 216). On receipt of the call 330,the agent 214 may determine the service context at the time, based atleast in part on some of the data collected and stored about the user,the internal operating conditions and/or the external environment.Thereafter, the agent 214 may autonomously service the call 330 e.g., byletting the call 330 ring through, routing the call 330 to thetraditional telephone application 216, routing the call 330 to a voicemessage service (not shown), and so forth.

In various embodiments, cellular phone 100 may receive multiple calls330 from multiple other phones 328 at the same time. For theseembodiments, upon having routed the calls 330 by common service layer210, agent 214 may determine the service context by determining thecallers, the relative priority of the callers, based at least in part onsome of the data collected and stored about the user, the internaloperating conditions and/or external environment. Thereafter, agent 214may route or otherwise dispose the various calls 330 based at least inpart on the determined service context. For example, when one of thecallers is determined to be the boss of the user, and having priorityover all other calls, the boss' call may be allowed to automatically cutin, replacing a lower priority current call, which may be put on hold.

FIG. 4 illustrates various examples of autonomous servicing of messagesof various embodiments. As illustrated, cellular phone 100 may receive amessage 432 from a remote computing apparatus 430 a, an appliance 430 b,or a device 430 c of another type. The remote computing apparatus 430 amay comprise a mobile electronic device such as, but not limited to, amobile phone, a laptop computer, or a personal digital assistant, or asubstantially stationary computing apparatus, such as a server, adesktop computer or the like. In various embodiments, the remoteappliance 430 b may comprise a home appliance, an entertainment orgaming system, or an audio system. In various embodiments, the homeappliance 430 b may comprise, but not limited to, a range/oven, adishwasher, a washer, a dryer, heating/ventilation/cooling system, orthe like. In various embodiments, device 430 c may comprise a medicaldevice, a storage device and so forth.

As described earlier, the message 432, sent from one of the remotecomputing apparatus 430 a, appliance 430 b or device 430 c of anothertype (hereinafter, may be referred to collectively as “remoteapparatus”) may be a conventional communication message, or a messagereporting the status of a device or occurrence of an event. The devicemay be the message sending apparatus itself. Similarly, upon having beenrouted the message 432 by common service layer 210, agent 214 maydetermine the service context, based at least in part on some of thedata collected and stored about the user, the internal operatingconditions and/or external environment. Thereafter, agent 214 mayautonomously service the message 432, based at least in part on thedetermined service context.

The interaction with the remote apparatus may include, but is notlimited to, an agent 214 monitoring, controlling, obtaining informationfrom, managing data, or otherwise interacting (e.g., receiving and/ortransmitting data) with the remote apparatus. In some embodiments, theremote apparatus may be monitored and data may be collected regardingthe monitoring and/or the user 104 of cellular phone 100 may be alertedor interrupted in some manner conditioned on the occurrence of an eventon the user's cellular phone 100. The alerts 436 may be conveyedvisually, e.g., through blinking lights, audibly, e.g., through audiobeeps or other means. In various embodiments, controlling of the remoteapparatus may be conditioned on the occurrence of an event on the user'scellular phone 100.

In some embodiments, for example, the remote appliance 430 b maycomprise a home appliance or an entertainment system, alarm, while theother device 430 c may comprise a medical device, which may be monitoredand/or controlled by the user's cellular phone 100. For example, theuser's cellular phone 100 may autonomously monitor a medical device 430c (e.g., a pacemaker, a glucose monitor, etc.). The user's cellularphone 100 may be further configured to send a message 434 to control themedical device 430 c to perform some action in response to somecondition (e.g., alert the user 104 if heartbeat or glucose readings areabnormal).

As noted herein, apparatuses, systems, and methods for autonomousservice on a cellular phone may be integrated into a work-flow, perhapsin an office-type environment. In some of these embodiments, incomingrequests received on the cellular phone 100 (e.g., by email, text, etc.)may be autonomously delegated 452 to another entity or device 450,sometimes on the basis of recent or long-term activity efforts. Thedelegation 452 may be addressed in a way, due to heuristic rules orstatistical models, to facilitate work objectives. This may allow theuser 104 to save time in explicitly reading the request and thendelegating it out. This may also allow work to be performed more quicklyin that the work may be immediately delegated instead of beingcontingent on some intervention by the user 104.

In an example, the cellular phone 100 may be part of an infrastructurein which information may be exchanged between various appliances 430 band cellular phone 100, which may allow coordination between theappliances 430 b and cellular phone 100. For example, a message 434including a command may be issued by the cellular phone 100 to instructan audio system 430 b within the infrastructure to reduce in volume ormute in response to an incoming call to the cellular phone 100.

Autonomous service on cellular phone 100 may be used for various socialnetworking applications. In particular, the user's cellular phone 100may be configured to determine the status of the remote computingapparatus 430 a and take some action for facilitating social networkingbetween the user's cellular phone 100 and the remote computing apparatus430 a (presumably a “friendly” computing apparatus). In someembodiments, the user's cellular phone 100 may be configured to detect astimulus including a request from the remote computing apparatus 430 aand take some action for facilitating social networking between theuser's cellular phone 100 and the remote computing apparatus 430 a(e.g., providing a message 434 having information regarding the locationor status or the user 104).

In various embodiments, the user's cellular phone 100 may determinewhether the remote device 430 c is located nearby, and if so, may alertthe user 104. In some embodiments, the user's cellular phone 100 maydetermine a calendar schedule of the user of the remote device 430 c andstore data regarding the calendar schedule on the user's cellular phone100. In still further embodiments, the user's cellular phone 100 mayalert (e.g., by text messaging 434) the user of the remote device 430 cthat the user 104 is nearby.

Autonomous service on cellular phone 100 and interaction with the remoteapparatus, appliance or device 430 a-430 c may be used for management ofdata stored on the user's cellular phone 100. Data management mayinclude storing or backing-up of data from the user's cellular phone 100onto the remote device 430 c. In various ones of these embodiments, forexample, the user's cellular phone 100 automatically determines (via oneof the agents 214 running in the background on the cellular phone 100)that the user's cellular phone 100 has data to be backed up or has datafor storing onto the remote device 430 c. The user's cellular phone 100may proceed with the backing up of the data from the cellular phone 100onto the remote device 430 c by sending messages 434 containing the datato be backed up to remote device 430 c. In some embodiments, the backingup of data may be limited to when the user's cellular phone 100 and theremote device 430 c are within a specified proximity.

In a specific example, a cellular phone 100 with a digital camerainterface may be configured via an agent 214 to detect when the cellularphone 100 is within a close proximity of a remote computing apparatus430 a (e.g. a desktop computer) and automatically backup the storeddigital pictures on the desktop computer 430 a. In this specificexample, the cellular phone 100 identifies a contextual awareness of theenvironment (e.g., context=“near desktop computer”), and autonomouslydownloads (or backs up) the digital picture data based on the identifiedcontext.

Further examples of tasks that may be performed autonomously may includethe handling or smart filtering of incoming emails, calls, or textmessages (e.g., by service 210). Incoming emails or text messages fromthe remote apparatus, appliance or device 430 a-430 c may beautomatically forwarded, ignored, or prioritized without any awarenessfrom the user 104, using agents 214 and/or services 210.

In various embodiments, the cellular phone 100 may be configured toreceive or retrieve data from the remote computing apparatus, 430 a-430c or some other source external to the user's cellular phone 100, andinterrupt the cellular phone 100 or alert 436 the user 104 based atleast in part on the content of the data. Whether the user 104 isalerted or the cellular phone 100 is interrupted from its currentprocess(es) may depend at least in part on the occurrence of acondition, indicated by the content of the data. In various embodiments,for example, the cellular phone 100 may be configured to receive orretrieve data on stocks, news, or weather. The cellular phone 100 mayautonomously analyze the data, and in embodiments, may also autonomouslystore the data. If the content of the data meets some condition (e.g., acertain stock price, certain keywords of a news item, certain types ofweather, etc.), the cellular phone 100 may then interrupt alert the user104 or interrupt its current process(es).

In various embodiments, agents 214 of cellular phone 100 may beconfigured e.g. with one or more agents 214 having security features toreduce the risk of unfriendly reverse engineering or successfullypredicting the action of the cellular phone 100. Accordingly, in variousembodiments, the autonomous services performed by an agent 214 withsecurity features may be randomized (within a valid set) such that theirprediction may be made more difficult.

Various embodiments described herein may find application for validatingor authenticating various activities. For example, credit card orautomatic teller machine transactions may be authenticated in accordancewith various embodiments. The ignition system of a motor vehicle maysimilarly require authentication prior to allowing starting up of themotor vehicle. Various electronic devices may be similarly configured torequire the provision of authenticating information for access thereto.

In these embodiments, the remote computing apparatus 430 a may comprisean authenticating computing apparatus configured to receive or retrieveover the network 102 a request for an action to occur at a firstlocation (e.g., the motor vehicle's location, the vendor's location,etc.). The authenticating computing apparatus 430 a may be configured toprovide a request for authentication information to the user's cellularphone 100, located at a second location. The authenticating computingapparatus 430 a may be configured to prevent or disallow the requestedaction to occur until valid authentication information is received fromthe user's cellular phone 100.

The user's cellular phone 100, upon receipt of the authenticationrequest, may provide the requested authentication information to theauthenticating computing apparatus 430 a. In various embodiments, theauthentication information may be information regarding the location ofthe user's cellular phone 100 (e.g., coordinates, address, etc.). Asnoted herein, the location of the user's cellular phone 100 may, byextension, provide information as to the location of the user 104. Ascertain requested actions would require the first location (location forthe requested action to occur) and the second location (the location ofthe user's cellular phone 100/user 104) to be substantially the samelocation, providing this location information as the authenticationinformation may be sufficiently authenticating.

For example, if a request is received for a credit card transaction tooccur at a store at a particular address, it is usually safe to assumethat the user 104 would be at the store along with the user's cellularphone 100. Similarly, if a request is received to start up the user'smotor vehicle at a particular location, it is usually safe to assumethat the user 104 would be at that motor vehicle along with the user'scellular phone 100.

The authenticating computing apparatus 430 a may receive or retrieve theauthentication information from the user's cellular phone 100 to verifythe requested action, and then facilitate the performance of therequested action based at least in part on the authenticationinformation. Facilitation of the requested action may include permittingthe requested action to proceed (e.g., if the first location and thesecond location are substantially the same location). The requestedaction may, on the other hand, be disallowed if the authenticationinformation is not valid (e.g., the first location and the secondlocation are substantially different locations). In this case, a furtheraction may include alerting the user 104 to notify the user of therequested action and/or requesting the user 104 to take some action toaffirmatively authenticate the request action. The furtherauthentication may include, but is not limited to, requesting the userto call the credit card company to provide some indication of approvalof the action (e.g., a personal identification number, voicerecognition, etc.)

FIG. 5 is a flowchart illustrating a method 500 of autonomous service ona cellular phone, in accordance with various embodiments. A call ormessage may be received at block 502. A message may comprise a request,e.g., a request to authorize a transaction, approve an action, and soforth, or a report, reporting e.g., a status of a device, an occurrenceof an event, and so forth.

A service context may be determined at block 504. The service contextmay be determined based at least in part on some of the data collectedand stored, about the user, the internal conditions of the cellularphone, and/or the external environment.

At block 506, a decision may be made whether to interrupt or alert theuser, or to autonomously service the call or message. If it isdetermined that the user should be interrupted or alerted, the user maybe interrupted or alerted accordingly at block 508. The interruption oralert may be performed in any one of a number of manners, via pop upmessages, blinking lights, one or more audio beeps, vibration and soforth. On the other hand, if it is determined that the user should notbe interrupted or alerted, the call or message may autonomously beserviced at block 510, without interaction with the user, based at leastin part on the determined current service context.

Computer program products and/or systems may be employed to enableperformance of one or more methods as disclosed herein. For example, acomputer program product may be adapted to enable a cellular phone toperform autonomous service on behalf of a user.

FIG. 6 is a block diagram of a computer program product 600 withinstructions for providing autonomous service on a cellular phone, inaccordance with various embodiments. The example computer programproduct 600 may comprise a computer readable storage medium 632 and aplurality of programming instructions 634 stored in the computerreadable medium 632. In various ones of these embodiments, theprogramming instructions 634 may be adapted to program a cellular phoneto enable the cellular phone to collect data about a user of thecellular phone, internal operating conditions of the cellular phone,and/or external environment of the cellular phone. The collection may becollected locally as well as from the Internet. The instructions 634 mayalso enable the cellular phone to determine, on receipt of a call or amessage, a current service context, based at least in part on some ofthe data collected and stored. Further, the instructions 634 may alsoenable the cellular phone to autonomously service the received call ormessage, without interacting with the user, based at least in part onthe determined service context.

Embodiments may have some or all of the instructions depicted in FIG. 6.Embodiments of computer program product 600 may have other instructionsin accordance with embodiments described herein. The computer readablemedium 632 may take a variety of forms including, but not limited to,volatile and persistent memory, such as, but not limited to, a compactdisc (CD), a digital versatile disc (DVD), a solid-state drive, a harddrive, and so forth. Embodiments are not limited to any type or types ofcomputer program products.

Claimed subject matter is not limited in scope to the particularimplementations described herein. For example, some implementations maybe in hardware, such as employed to operate on a device or combinationof devices, for example, whereas other implementations may be insoftware and/or firmware. Likewise, although claimed subject matter isnot limited in scope in this respect, some implementations may includeone or more articles, such as a storage medium or storage media. Thisstorage media, such as CD-ROMs, computer disks, flash memory, or thelike, for example, may have instructions stored thereon, that, whenexecuted by a system, such as a computer system, computing platform, orother system, for example, may result in execution of a processor inaccordance with claimed subject matter, such as one of theimplementations previously described, for example. As one possibility, acomputing platform may include one or more processing units orprocessors, one or more input/output devices, such as a display, akeyboard and/or a mouse, and one or more memories, such as static randomaccess memory, dynamic random access memory, flash memory, and/or a harddrive.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein can be effected (e.g., hardware, software, and/or firmware), andthat the preferred vehicle will vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

In some embodiments, several portions of the subject matter describedherein may be implemented via Application Specific Integrated Circuits(ASICs), Field Programmable Gate Arrays (FPGAs), digital signalprocessors (DSPs), or other integrated formats. However, those skilledin the art will recognize that some aspects of the embodiments disclosedherein, in whole or in part, can be equivalently implemented inintegrated circuits, as one or more computer programs running on one ormore computers (e.g., as one or more programs running on one or morecomputer systems), as one or more programs running on one or moreprocessors (e.g., as one or more programs running on one or moremicroprocessors), as firmware, or as virtually any combination thereof,and that designing the circuitry and/or writing the code for thesoftware and/or firmware would be well within the skill of one of skillin the art in light of this disclosure. In addition, those skilled inthe art will appreciate that the mechanisms of the subject matterdescribed herein are capable of being distributed as a program productin a variety of forms, and that an illustrative embodiment of thesubject matter described herein applies regardless of the particulartype of signal bearing medium used to actually carry out thedistribution. Examples of a signal bearing medium include, but are notlimited to, the following: a recordable type medium such as a floppydisk, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disc(DVD), a digital tape, a computer memory, etc.; and a transmission typemedium such as a digital and/or an analog communication medium (e.g., afiber optic cable, a waveguide, a wired communications link, a wirelesscommunication link, etc.).

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

Although the present disclosure has been described in terms of theabove-illustrated embodiments, it will be appreciated by those ofordinary skill in the art that a wide variety of alternate and/orequivalent implementations calculated to achieve the same purposes maybe substituted for the embodiments shown and described without departingfrom the scope of the present disclosure. Those with skill in the artwill readily appreciate that embodiments in accordance with the presentdisclosure may be implemented in a very wide variety of embodiments.This description is intended to be regarded as illustrative instead ofrestrictive.

What is claimed:
 1. A method to perform an action, comprising:receiving, by a first device located at a first location, one or moremessages related to a second device located at a second location,wherein the one or more messages: indicates location information of thesecond device, and includes a request to perform a first action, whereinthe location information of the second device acts as authentication toallow the first action to be performed; performing, based at least onthe received one or more messages, by the first device, theauthenticated first action.